package storage

type StorePool struct {
	storeMap map[string]StoreInterface
}

func NewStorePool() *StorePool {
	return &StorePool{
		storeMap: make(map[string]StoreInterface),
	}
}

func (p *StorePool) GetTableStore(tableName string) (StoreInterface, error) {
	store := p.storeMap[tableName]
	if store != nil {
		return store, nil
	}
	store = NewMemStore()
	p.storeMap[tableName] = store
	return store, nil
}

func (p *StorePool) GetTableMap() map[string]StoreInterface {
	return p.storeMap
}
